Why is Android VM-based? [closed]

Posted by adib on Programmers See other posts from Programmers or by adib
Published on 2012-04-07T00:38:05Z Indexed on 2012/04/07 5:43 UTC
Read the original article Hit count: 259

By about 2004, it was clear that ARM is the clear winner for mobile CPUs, beating out MIPS, SH3, and DragonBall. PocketPC (Windows Mobile) applications was natively-compiled (at least most of them - except for .NET compact and its competitors). Likewise, Apple's iOS (named iPhone OS at the time) prefers natively-compiled applications.

Then why Android chose a virtual machine based system stack? (the Dalvik VM). Wouldn't it be simpler to just compile applications down to ARM code using GCJ or something? Is the decision influenced by the J2ME-way of doing things, or was just because it's "cool"? Perhaps like most things Java, the culture that prefers multiple levels of indirection and abstractions, they just added another layer of abstraction for "just in case"?

© Programmers or respective owner

Related posts about architecture

Related posts about android